/*
 * LoadSheddingProfiler.h
 *
 *  Created on: 2011-04-15
 *      Author: awjastrzebski
 */

#ifndef LOADSHEDDINGPROFILER_H_
#define LOADSHEDDINGPROFILER_H_

#include "AbstractProfiler.h"

/**
 * Implementuje profilera ruchu sieciowego, ktory kolejkuje nowe pakiety dopoki
 * aktualne zuzycie przepustowosci nie spadnie ponizej krytycznego poziomu.
 */
class LoadSheddingProfiler : public AbstractProfiler
{
protected:
	/**
	 * Krytyczna przepustowosc po przekroczeniu ktorej kazde nadchodzace pakiety
	 * beda odrzucane.
	 */
	double criticalBandwidth;

	virtual void initialize();
	virtual bool acceptPacket(NetPacket* packet, simtime_t& delay);
};

#endif /* LOADSHEDDINGPROFILER_H_ */
